import http from '@/api'; // 导入HTTP请求模块
import queryString from 'query-string'; // 导入用于序列化查询参数的模块

// 后端地址环境变量
const BACKEND_API_PREFIX = process.env.BK_BACKEND_API_PREFIX; // 获取后端API前缀

export default {
  namespaced: true, // 命名空间，用于模块化Vuex
  state: {}, // 状态对象，初始为空
  mutations: {}, // 状态变更函数，初始为空
  actions: {
    // 获取表格数据
    getTableData(context, params, config = {}) {
      // 使用http模块发送GET请求，并序列化params参数
      return http.get(`/api/table?&${queryString.stringify(params)}`, params, config);
    },
    // 获取业务数据
    getBizData(context, params, config = {}) {
      // 使用http模块发送GET请求，获取业务列表
      return http.get(`${BACKEND_API_PREFIX}/biz-list/`, {}, config);
    },
    // 获取集合数据
    getSetData(context, params, config = {}) {
      // 使用http模块发送GET请求，并序列化params参数，获取集合列表
      return http.get(`${BACKEND_API_PREFIX}/set-list?${queryString.stringify(params)}`, {}, config);
    },
    // 获取模块数据
    getModuleData(context, params, config = {}) {
      // 使用http模块发送GET请求，并序列化params参数，获取模块列表
      return http.get(`${BACKEND_API_PREFIX}/module-list?${queryString.stringify(params)}`, {}, config);
    },
    // 获取主机数据
    getHostData(context, params, config = {}) {
      // 使用http模块发送GET请求，并序列化params参数，获取主机列表
      return http.get(`${BACKEND_API_PREFIX}/host-list?${queryString.stringify(params)}`, {}, config);
    },
    // 获取主机详情
    getHostDetail(context, params, config = {}) {
      // 使用http模块发送GET请求，并序列化params参数，获取主机详情
      return http.get(`${BACKEND_API_PREFIX}/host-detail?${queryString.stringify(params)}`, {}, config);
    },
    // 搜索文件
    searchFile(context, params, config = {}) {
      // 使用http模块发送GET请求，并序列化params参数，搜索文件
      return http.get(`${BACKEND_API_PREFIX}/search-file?${queryString.stringify(params)}`, {}, config);
    },
    // 备份文件
    backupFile(context, params, config = {}) {
      // 使用http模块发送GET请求，并序列化params参数，备份文件
      return http.get(`${BACKEND_API_PREFIX}/backup-file?${queryString.stringify(params)}`, {}, config);
    },
    // 获取备份记录
    getBackupRecord(context, params, config = {}) {
      // 使用http模块发送GET请求，获取备份记录
      return http.get(`${BACKEND_API_PREFIX}/backup-record`, params, config);
    },
  },
};
